package it.slothy.noveleditor.interfaces;

import javax.swing.table.AbstractTableModel;

public abstract class MEAbstractTableModel<T> extends AbstractTableModel {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	public abstract int getColumnCount();

	@Override
	public abstract int getRowCount();
	
	@Override
	public abstract String getColumnName(int column);

    @SuppressWarnings({ "unchecked", "rawtypes" })
    @Override
	public abstract Class getColumnClass(int column);

    @Override
    public abstract boolean isCellEditable(int row, int column);

    @Override
    public abstract Object getValueAt(int row, int column);
    
    public abstract T getItemAtRow(int row);
    
    //public abstract void addItem(T item);
    
    //public abstract T removeItemAtRow(int row);
    
    //public abstract T removeItem(T item);
    
    public abstract void refreshData();

}
